package com.toommi.refuse.service;

import com.github.pagehelper.PageInfo;
import com.toommi.refuse.entity.RecycleRecord;
import com.toommi.refuse.exception.RecycleRecordException;
import com.toommi.refuse.model.BenefitModel;
import org.springframework.web.multipart.MultipartFile;

/**
 * 回收记录操作
 *
 * @author yangg
 * @since 2019-08-01 11:55
 */
public interface RecycleRecordService {

    /**
     * 新增回收记录
     *
     * @param record 回收记录
     */
    void addRecycleRecord(RecycleRecord record, MultipartFile filerefuse,MultipartFile openfile) throws RecycleRecordException;

    /**
     * 分页获取回收记录
     *
     * @param pageNum      页码
     * @param pageSize     每页数据量
     * @param wechatUserId 微信用户id
     * @param appUserId    app端处理用户
     * @param householdId  门牌号id
     * @param startTime    查询开始时间
     * @param endTime      结束时间
     * @param status       记录状态
     * @param refuseType   回收大类类型code
     * @return 回收记录列表
     */
    Object findRecycleRecords(int pageNum, int pageSize, long wechatUserId, long appUserId,
                                               long householdId,
                                               long startTime, long endTime, int status, String refuseType);

    /**
     * 根据id查询详细信息
     *
     * @param id 回收记录id
     * @return 回收记录详细信息
     */
    RecycleRecord findDetail(long id);

    /**
     * 修改更新回收记录信息
     *
     * @param record 回收记录
     */
    void updateRecycleRecord(RecycleRecord record) throws RecycleRecordException;

    /**
     * 获取指定时间内指定用户垃圾投放正确率
     * @param wechatUserId 用户
     * @param startTime 开始时间
     * @param endTime 截止时间
     * @return 正确率
     */
    String getCorrectRatio(long wechatUserId,long startTime,long endTime);
}
